package com.yilin.tms.system.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yilin.tms.core.application.PageData;
import com.yilin.tms.core.entity.system.param.*;

import java.util.List;

public interface IParamService extends IService<BankCode> {

    List<Area> getAreaPage(Area area);

    PageData<Bank> getBankPage(Bank bank, int i, Integer limit);

    PageData<BankCode> getBankCodePage(BankCode bankCode, int i, Integer limit);

    PageData<City> getCityPage(City city, int i, Integer limit);

    List<GoodsType> getTreeGoodsTypeList(GoodsType goodsType);

    GoodsType getGoodsTypeById(String goodsTypeId);

    List<TransportType> getTransportTypeList(TransportType transportType);

    List<TruckEnergyType> getTruckEnergyTypeList(TruckEnergyType truckEnergyType);

    List<TruckEnergyType> getTruckEnergyTypeList();

    PageData<BankCode> queryBankCodePage(String bankShortName, String cityName, String bankName, int i, Integer limit);

    TruckEnergyType getTruckEnergyTypeByName(String name);

    List<TruckPlate> getTruckPlateList(TruckPlate truckPlate);

    TruckPlate getTruckPlateById(String id);

    List<TruckType> getTreeTruckTypeList(TruckType truckType);

    TruckType getTruckTypeById(String TruckTypeId);

    void editArea(Area area);

    void editBank(Bank bank);

    void editBankCode(BankCode bankCode);

    void editCity(City city);

    void editGoodsType(GoodsType goodsType);

    void editTransportType(TransportType transportType);

    void editTruckEnergyType(TruckEnergyType truckEnergyType);

    void editTruckPlate(TruckPlate truckPlate);

    void editTruckType(TruckType truckType);

    void editCommTruckType(CommTruckType truckType);

    void deleteArea(Area area);

    void deleteBank(Bank bank);

    void deleteBankCode(BankCode bankCode);

    void deleteCity(City city);

    void deleteGoodsType(GoodsType goodsType);

    void deleteTransportType(TransportType transportType);

    void deleteTruckEnergyType(TruckEnergyType truckEnergyType);

    void deleteTruckPlate(TruckPlate truckPlate);

    void deleteTruckType(TruckType truckType);

    void deleteCommTruckType(CommTruckType truckType);

    List<City> getCityList(String cityName);

    List<Bank> getBankList(String bankName);

    List<TruckType> getTruckTypeList(TruckType.IsTrailer isTrailer);

    List<TruckPlate> getTruckPlateList();

    List<CommTruckType> getCommTruckTypeList(TruckType.IsTrailer isTrailer);

    List<CommTruckType> getTruckTypeListByLevel(Integer leven);

    List<CommTruckType> getTruckTypeListByParent(String parentTruckType);

    List<CommTruckType> getCommTruckTypeList(CommTruckType commTruckType);

    List<CommTruckType> getPricingCommTruckTypeList();

    CommTruckType getCommTruckTypeById(String vehicleId);

    List<TruckType> queryTruckTypeByName(String name);

    TruckEnergyType queryTruckEnergyTypeByName(String name);

    TruckPlate queryTruckPlateByName(String name);

    TransportType getTransportTypeByCode(String code);

    TruckEnergyType getTruckEnergyById(String truckEnergyTypeId);

    Bank getBankByCode(String code);

    Bank getBankcardInfo(String cardNo);

    List<CommTruckType> getCommTruckTypeListByIds(String[] commTruckTypeIds);

    List<GoodsType> getGoodsTypeByCode(String goodsTypeCode);
}
